﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Models;
namespace DAL
{
    /// <summary>
    /// 
    /// </summary>
    public class sp_goodsServcie
    {
        MyShoppingDB_VueEntities context = new MyShoppingDB_VueEntities();

        #region 查询所有
        public List<sp_goods> GetAll()
        {
            return context.Set<sp_goods>().ToList();
        }
        #endregion

        #region 修改方法
        public int Modify(sp_goods user)
        {
            //
            context.Set<sp_goods>().Attach(user);//要修改的对象放入容器中管理
            //数据访问层需要引用程序集  System.Data.Entity  右击=>引用=> net 框架，找到system.data.entity
            context.Entry<sp_goods>(user).State = System.Data.Entity.EntityState.Modified;
            //调用修改
            return context.SaveChanges();
        }
        #endregion

        #region 获取单个对象
        public sp_goods GetOne(int id)
        {
            //以主键获取一条数据
            sp_goods customobj = context.Set<sp_goods>().Find(id);
            return customobj;
        }
        #endregion

        #region 增加单个对象
        public int Add(sp_goods obj)
        {
            //使用上下文泛型类形式实现
            context.Set<sp_goods>().Add(obj);
            return context.SaveChanges();//执行同步

        }
        #endregion

        #region 删除一条数据 以主键列的类型
        public int DeleteOne(int id)
        {
            //以主键获取一条数据,如果不是主键查询,可以采用Linq SingleOrDefault 之类的方法

            sp_goods customobj = context.Set<sp_goods>().Find(id);
            context.Set<sp_goods>().Remove(customobj);
            return context.SaveChanges();

        }
        #endregion
    }
}
